home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 14 / CU Amiga Magazine's Super CD-ROM 14 (1997)(EMAP Images)(GB)(Track 1 of 3)[!][issue 1997-09].iso / CUCD / Programming / Mesa-2.2 / src / Smakefile < prev    next >
Encoding:
Makefile  |  1997-06-25  |  4.2 KB  |  139 lines

  1. # smakefile for core library for Amiga opengl.lib
  2.  
  3. # Mesa 3-D graphics library
  4. # Copyright (C) 1995  Brian Paul  (brianp@ssec.wisc.edu)
  5. #
  6. # This library is free software; you can redistribute it and/or
  7. # modify it under the terms of the GNU Library General Public
  8. # License as published by the Free Software Foundation; either
  9. # version 2 of the License, or (at your option) any later version.
  10. #
  11. # This library is distributed in the hope that it will be useful,
  12. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  13. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  14. # Library General Public License for more details.
  15. #
  16. # You should have received a copy of the GNU Library General Public
  17. # License along with this library; if not, write to the Free
  18. # Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  19. #
  20. ##### MACROS #####
  21.  
  22. INCDIR = /include
  23. LIBDIR = /lib
  24. XDIR = x11:sasc
  25.  
  26. TMP_FILE = T:MesaTMP_SCOPTS
  27. TMP_OML = T:MesaTMP_OML
  28.  
  29. COMOBJ1 = accum.o alpha.o alphabuf.o api.o attrib.o bitmap.o blend.o bresenhm.o clip.o \
  30.     context.o copypix.o depth.o dlist.o draw.o drawpix.o enable.o \
  31.     eval.o feedback.o fog.o get.o image.o interp.o 
  32. COMOBJ2 = light.o lines.o logic.o masking.o matrix.o misc.o pb.o \
  33.     pixel.o pointers.o points.o polygon.o readpix.o scissor.o span.o stencil.o \
  34.     teximage.o texobj.o texture.o triangle.o varray.o vb.o vertex.o winpos.o xform.o 
  35.  
  36.  
  37.  
  38. COMOBJECTS = $(COMOBJ1) $(COMOBJ2)
  39. AMIGAOBJECTS = Amigamesa.o ADisp_AGA.o ADisp_Cyb.o osmesa.o /amiga/misc/ht__colors.o /amiga/misc/ht_colors.o
  40. LIBRARYOBJECTS = Amigamesa.o ADisp_AGA.o ADisp_Cyb.o /amiga/misc/ht_colors.o /amiga/misc/ht__colors.o
  41. AMIWINOBJECTS = glx.o xfonts.o xmesa1.o xmesa2.o xmesa3.o osmesa.o
  42.  
  43.  
  44. AMIGASCFLAGS = idir=$(INCDIR) data=far idlen=63 with=/amiga/SCOPTIONS\
  45.              nolink define=AMIGA define=AMIGALIB
  46. #IGN=ALL
  47.  
  48. LIBRARYSCFLAGS = idir=$(INCDIR) data=far idlen=63 with=/amiga/scoptions\
  49.              LIBCODE nolink IGN=ALL define=AMIGA define=AMIGALIB
  50.  
  51. AMIWINSCFLAGS = verbose idir=$(INCDIR) idir=$(XDIR)/include data=far idlen=63 \
  52.              nostkchk IGN=ALL optimize math=68882 cpu=68040 define=AMIWIN
  53.  
  54. # Fetures to make and link a shared library for amiga
  55. VERSION = 39
  56. REV = 2
  57. LIBRARYFD = /amiga/library/gl.fd
  58. GL_LIBRARY = libs:gl.library
  59. MAKELIBRARY = slink lib lib:sc.lib+lib:amiga.lib LIBRARYFD $(LIBFD) TO $(GL_LIB) FROM lib:libent.o lib:libinitr.o NOICONS   LIBVERSION $(VERSION) LIBREVISION $(REV)
  60.  
  61. MAKELIB = oml
  62. GL_LIB = MesaGL.LIB
  63. GL_AMIWIN_LIB = AMIWINGL.LIB
  64.  
  65. CC = sc
  66.  
  67. ##### RULES #####
  68. .a.o:
  69.     $(CC) WITH=$(TMP_File) $*.a
  70. #   $(MAKELIB) $(LIBDIR)/$(GL_LIB) R $*.o
  71.  
  72. .c.o:
  73.     $(CC) WITH=$(TMP_File) $*.c
  74. #   $(MAKELIB) $(LIBDIR)/$(GL_LIB) R $*.o
  75.  
  76. ##### TARGETS #####
  77.  
  78. default:
  79.     @echo "specify: smake <target>"
  80.     @echo "Where <targets> is one of"
  81.     @echo "       amiga   - Compiles a link library"
  82.     @echo "       library - A standard library (still beta)"
  83.     @echo "       targets - Compilations for AMIWIN"
  84.     smake amiga
  85.  
  86. clean:
  87.     -delete *.o $(GL_LIB)
  88.     -delete /amiga/misc/#?.o
  89.  
  90. amiga: $(LIBDIR)/$(GL_LIB)
  91.     @echo "------- FINISHID ------"
  92.  
  93. library: $(GL_LIBRARY)
  94.     @echo "------- FINISHID ------"
  95.  
  96. targets: $(LIBDIR)/$(GL_AMIWIN_LIB)
  97.     @echo "------- FINISHID ------"
  98.  
  99. # Make the library 
  100. $(LIBDIR)/$(GL_LIB): AmigaLIB $(COMOBJECTS) $(AMIGAOBJECTS) DeleteTMP
  101.     @echo "------ Making LIB Amiga -----"
  102. #    @echo >$(TMP_OML) "$(COMOBJECTS) $(AMIGAOBJECTS)"
  103. #   $(MAKELIB) $@ R <$(TMP_OML)
  104.     $(MAKELIB) $@ R $(COMOBJ1)
  105.     $(MAKELIB) $@ R $(COMOBJ2)
  106.     $(MAKELIB) $@ R $(AMIGAOBJECTS)
  107. #    @delete $(TMP_OML)
  108.  
  109. api.o: api.c
  110.     $(CC) WITH=$(TMP_File) $*.c
  111.  
  112. $(GL_LIBRARY): AmigaLibrary $(COMOBJECTS) $(LIBRARYOBJECTS) DeleteTMP
  113.     @echo "------ Making Library -----"
  114.     $(MAKELIBRARY) $(COMOBJECTS)
  115.     $(MAKELIBRARY) $(LIBRARYOBJECTS)
  116.     
  117.     
  118. $(LIBDIR)/$(GL_AMIWIN_LIB): AMIWIN $(COMOBJECTS) $(AMIWINOBJECTS) DeleteTMP
  119.     @echo "------ Making LIB AMIWIN -----"
  120.     @$(MAKELIB) $@ R $(COMOBJECTS)
  121.     @$(MAKELIB) $@ R $(AMIWINOBJECTS)
  122.     @copy $@ $(LIBDIR)/$(GL_LIB)
  123.     @delete $@
  124.  
  125.  
  126. # Makes temporary scoptions to use in global .c.o   
  127. AmigaLIB:
  128.     @echo >$(TMP_FILE) "$(AMIGASCFLAGS)"
  129.  
  130. AmigaLibrary:
  131.     @echo >$(TMP_FILE) "$(LIBRARYSCFLAGS)"
  132.  
  133. AMIWIN:
  134.     @echo >$(TMP_FILE) "$(AMIWINSCFLAGS)"
  135.  
  136. DeleteTMP:
  137.     @delete $(TMP_FILE)
  138.  
  139.